package cn.b.sky.form.dao;

import cn.b.sky.form.model.Screen;
import cn.b.sky.form.model.condition.ScreenCondition;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ScreenDao {

  /**
   * 
   * <strong>Title : selectScreenListByCondition<br></strong>
   * <strong>Description : </strong>根据条件查询界面<br> 
   * <strong>Create on : 2016-11-8 下午5:58:48<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Screen>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Screen> selectScreenListByCondition(ScreenCondition condition);

  /**
   * 
   * <strong>Title : selectScreenListCountByCondition<br></strong>
   * <strong>Description : </strong>根据条件查询界面记录<br> 
   * <strong>Create on : 2016-11-8 下午5:59:10<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectScreenListCountByCondition(ScreenCondition condition);

  /**
   * 
   * <strong>Title : getScreen<br></strong>
   * <strong>Description : </strong>查询界面<br> 
   * <strong>Create on : 2016-11-8 下午6:00:06<br></strong>
   * <p>
   * @param siteCode
   * @param screenCode
   * @return
   * Screen
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  Screen getScreen(@Param("siteCode") String siteCode, @Param("screenCode") String screenCode);

  /**
   * 
   * <strong>Title : insertScreen<br></strong>
   * <strong>Description : </strong>添加界面<br> 
   * <strong>Create on : 2016-11-8 下午6:00:49<br></strong>
   * <p>
   * @param screen
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertScreen(Screen screen);

  /**
   * 
   * <strong>Title : updateScreen<br></strong>
   * <strong>Description : </strong>修改界面<br> 
   * <strong>Create on : 2016-11-8 下午6:01:27<br></strong>
   * <p>
   * @param screen
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateScreen(Screen screen);

  /**
   * 
   * <strong>Title : deleteScreen<br></strong>
   * <strong>Description : </strong>删除界面<br> 
   * <strong>Create on : 2016-11-9 上午9:56:18<br></strong>
   * <p>
   * @param siteCode
   * @param screenCode
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteScreen(@Param("siteCode") String siteCode, @Param("screenCode") String screenCode);

  /**
   * 
   * <strong>Title : selectScreenSuggestByCondition<br></strong>
   * <strong>Description : </strong>查询建议控件查询数据<br> 
   * <strong>Create on : 2016-12-1 下午3:45:12<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Screen>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Screen> selectScreenSuggestByCondition(ScreenCondition condition);

}
